<?php


class UsuarioTable extends Doctrine_Table
{
    static public $types = array ('A' =>'Alumno', 'D' => 'Docente', 'P' => 'Preceptor');
	
    public function getTypes()
    {
            return self::$types;
    }	
    public static function getInstance()
    {
        return Doctrine_Core::getTable('Usuario');
    }
    public function retrieveByUsername($username)
    {
        $q = Doctrine_Core::getTable('usuario')->findOneBy('nombre_usuario',array($username) );
        return $q;
    }
    public function getAlertas($id_usuario)
    {
        $q = Doctrine_Core::getTable('alerta')->findBy('id_usuario', $id_usuario);
        return $q;
    }
    public function getAlertasNoLeidas($id_usuario)
    {
        $q = Doctrine_Query::create()
            ->select()
                ->from('Alerta a')
                ->where('a.leida = ? and a.id_usuario = ?',array(false,$id_usuario))
                ->execute();
        return $q;
    }
    public function getMensajesNoLeidos($id_usuario)
    {
        $q = Doctrine_Query::create()
            ->select()
                ->from('mensaje m')
                ->where('m.id_usuario_destino = ? and m.leido = ?',array($id_usuario,false))
                ->execute();
        return $q;
    }
    public function getCantidadNoLeidas($id_usuario)
    {
        return $this->getAlertasNoLeidas($id_usuario)->count();
    }
    
}